#ifndef __FLATPAKHISTORY__H__
#define __FLATPAKHISTORY__H__

#include "FlatpakBase.h"

class Flatpak::History : public Flatpak::Base {
    public:
        initCommand(History, "history");

        History(const History &) = default;
        History(History &&) = default;
        History &operator=(const History &) = default;
        History &operator=(History &&) = default;

        // --user/--system
        UserSystem(History);

        // --columns=
        Columns(History, time);
        Columns(History, change);
        Columns(History, ref);
        Columns(History, application);
        Columns(History, arch);
        Columns(History, branch);
        Columns(History, installation);
        Columns(History, remote);
        Columns(History, commit);
        Columns2(History, old_commit, "old-commit");
        Columns(History, url);
        Columns(History, user);
        Columns(History, tool);
        Columns(History, version);
        Columns(History, all);
        Columns(History, help);

        // --ostree-verbose
        OstreeVerbose(History)

};

#endif  //!__FLATPAKHISTORY__H__


/***************************************************************************************
Usage:
  flatpak history [OPTION…]  - Show history

Help Options:
  -h, --help              Show help options

Application Options:
  --user                  Work on the user installation
  --system                Work on the system-wide installation (default)
  --installation=NAME     Work on a non-default system-wide installation
  --since=TIME            Only show changes after TIME
  --until=TIME            Only show changes before TIME
  --reverse               Show newest entries first
  --columns=FIELD,…       What information to show
  -v, --verbose           Show debug information, -vv for more detail
  --ostree-verbose        Show OSTree debug information

Available columns:
  time             Show when the change happened
  change           Show the kind of change
  ref              Show the ref
  application      Show the application/runtime ID
  arch             Show the architecture
  branch           Show the branch
  installation     Show the affected installation
  remote           Show the remote
  commit           Show the current commit
  old-commit       Show the previous commit
  url              Show the remote URL
  user             Show the user doing the change
  tool             Show the tool that was used
  version          Show the Flatpak version
  all              Show all columns
  help             Show available columns

Append :s[tart], :m[iddle], :e[nd] or :f[ull] to change ellipsization
***************************************************************************************/